package com.dengdai.applibrary.interfaces;

import android.graphics.drawable.Drawable;
import android.view.View;

import com.dengdai.applibrary.adapter.BaseCommAdapter;
import com.dengdai.applibrary.adapter.BaseCommExpandableListAdapter;
import com.dengdai.pullrefresh.library.PullToRefreshBase;

/**
 * @说明 折叠分组列表公共方法
 * @作者 LY
 * @时间 16/5/24 10:08
 * @邮箱 2743569843@qq.com
 * @版权 Copyright(c) 2016 LY-版权所有
 * @备注
 */
public interface ExpandableListInterface {
    /**
     * 设置ExpandableList的类型
     *
     * @return 刷新类型
     */
    PullToRefreshBase.Mode getListViewMode();

    /**
     * Group指示器
     *
     * @return
     */
    Drawable getGroupIndicator();

    /**
     * 子列表点击事件
     *
     * @param o
     * @param groupPosition
     * @param childPosition
     */
    void onChildItemClick(Object o, int groupPosition, int childPosition);

    /**
     * 分组点击事件
     *
     * @param o
     * @param groupPosition
     */
    void onGroupItemClick(Object o, int groupPosition);

    /**
     * 加载数据
     */
    void loadingData();

    /**
     * 获取数据源
     *
     * @return 数据源
     */
    BaseCommExpandableListAdapter getAdapter();

    /**
     * 结束刷新
     */
    void stopRefreshView();

    /**
     * 获取头部布局
     *
     * @return 头部布局
     */
    View getHeaderView();

    /**
     * 获取底部布局
     *
     * @return 底部布局
     */
    View getFooterView();
}
